
package com.jf.cloud.service.sysmanager.handler;

import java.util.HashMap;
import java.util.Map;

/**
 * 
 * 相关属性配置常量
 * 
 * @author 姚龙 创建时间：2014-09-03 14:30:39
 */
public class PropConfigHandler {
	
	/**
	 * 定时器属性配置MAP
	 */
	private static final Map<String, Object> TIMER_PROP_CONFIG = new HashMap<String, Object>();
	
	/**
	 * 基础属性配置MAP
	 */
	private static final Map<String, Object> BASE_PROP_CONFIG = new HashMap<String, Object>();
	
	/**
	 * 基础属性配置 KEY 默认前缀
	 *  1、key配置原则 BASE_PROP_CONFIG_KEY + 游戏ID
	 */
	public static final String KUCUN_KEY = "KUCUN_KEY_";
	
	/**
	 * 
	 * 设置定时器属性
	 * 
	 * @author 姚龙 创建时间：2014-09-03 15:09:47
	 */
	public static void setTimerPropConfig(Map<String, Object> configData) {
		if (configData != null && !configData.isEmpty()) {
			TIMER_PROP_CONFIG.putAll(configData);
		}		
	}
	
	/**
	 * 
	 * 设置定时器属性
	 * 
	 * @author 姚龙 创建时间：2014-09-03 15:09:47
	 */
	public static void setTimerPropConfig(String key, String val) {
		if (key != null && key.length() > 0) {
			TIMER_PROP_CONFIG.put(key, val);
		}		
	}
	
	/**
	 * 
	 * 获取定时器配置属性值
	 * 
	 * @author 姚龙 创建时间：2014-09-03 15:04:47
	 */
	public static String getTimerPropConfig(String key) {
		Object val = TIMER_PROP_CONFIG.get(key);
		return val == null ? null : val.toString();
	}
	
	/**
	 * 
	 * 设置基础属性
	 * 
	 * @author 姚龙 创建时间：2014-09-03 15:09:47
	 */
	public static void setBasePropConfig(Map<String, Object> configData) {
		if (configData != null && !configData.isEmpty()) {
			BASE_PROP_CONFIG.putAll(configData);
		}		
	}
	
	/**
	 * 
	 * 设置基础属性
	 * 
	 * @author 姚龙 创建时间：2014-09-03 15:09:47
	 */
	public static void setBasePropConfig(String key, String val) {
		if (key != null && key.length() > 0) {
			BASE_PROP_CONFIG.put(key, val);
		}		
	}
	
	/**
	 * 
	 * 获取基础属性
	 * 
	 * @author 姚龙 创建时间：2014-09-03 15:04:47
	 */
	public static String getBasePropConfig(String key) {
		Object val = BASE_PROP_CONFIG.get(key);
		return val == null ? null : val.toString();
	}

	public static Map<String, Object> getTimerPropConfig() {
		return TIMER_PROP_CONFIG;
	}

	public static Map<String, Object> getBasePropConfig() {
		return BASE_PROP_CONFIG;
	}
	
	/**
	 * 
	 * 通过常量KEY和动态KEY加点获取属性值
	 * 
	 * @author 姚龙   创建时间：2017-01-17 10:24:33
	 */
	public static String getBasePropConfig(String constantKey, String dynamicKey) {
		Object val = BASE_PROP_CONFIG.get(constantKey + "." + dynamicKey);
		return val == null ? null : val.toString();
	}
	
}
